1. Field of the Invention
The present invention relates to testing computer programs and, more particularly, to testing computer programs that utilize different languages.
2. Description of the Related Art
Software, whether system software or application software, is subjected to extensive testing to ensure that the final product is free from defects. Typically, software is tested by a quality assurance (QA) engineer or other personnel. The QA engineer subjects the software to various tests and compares the output of the software against known or expected results.
As software has become a global market, the potential user base for a given software title may speak any of a number of different languages. As a result, software may be configured to utilize the English language when sold in the U.S.A., the Japanese language when sold in Japan, Italian when sold in Italy, etc. Such is the case not only with regard to application programs, but also with system software such as operating systems, particularly localized operating systems executing within a single machine.
This linguistic complexity can exacerbate the already difficult task of testing software. Essentially, each linguistically different version of a program must be independently tested. That is, the Japanese version of a software title often is tested and verified independently of the English version or the Italian version. In order to adequately test such software, however, the QA engineer must be able to comprehend text that the software under test presents upon a display screen.
To date, several different techniques for testing software in different languages have been used. One involves hiring a QA engineer that is proficient in each relevant language. A QA engineer that is proficient in Japanese can test programs intended for Japanese speaking users. A QA engineer that is proficient in English can test programs intended for English speaking users.
Another technique is to utilize QA engineers that are proficient in only a single language and manually translate text from the display screen as needed. The QA engineer begins testing a program that is intended for users that speak a language that is foreign to, or different from, that of the QA engineer. As text is presented upon the display in the foreign language, the QA engineer manually selects, copies, and pastes the text into a translation program. The translation program translates the text into a language in which the QA engineer is proficient thereby allowing the QA engineer to review the text properly.
Yet another alternative is to pair a human translator with the QA engineer. This approach can be useful in cases where the text to be translated in not selectable. The human translator can translate text from the display screen as needed throughout the testing process. Each of these techniques, however, requires significant resources in terms of personnel, time, and cost.